﻿Imports PTIC_Util
Imports PTIC_Util.GestionCalculs


Namespace Comptes

    ''' <summary>
    ''' Projections en Années Réelles
    ''' </summary>
    ''' <remarks></remarks>
    Public Class ProjectionAnneesReelles

        ''' <summary>
        ''' Nombre d'années de projection
        ''' </summary>
        ''' <remarks>
        ''' 
        ''' </remarks>
        Public Property NbAnneesProj As Double
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property CSR_DC As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property Pcom_DC As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property SinReg_DC As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property PM_DCtheo As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property PCom_INCINV As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property SinRegINCINV As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property PM_INCINVtheo As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property PM_renteTheo As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property PPRC_INCINVtheo As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property MRS_Vie As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property NbCotDC As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property NbSinDC As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property NbCotINCINV As Double()
        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Property NbSinINCINV As Double()

        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Function Copy() As ProjectionAnneesReelles
            Dim result As New ProjectionAnneesReelles
            Dim CSR_DC_copy(CSR_DC.Count - 1) As Double
            Dim Pcom_DC_copy(Pcom_DC.Count - 1) As Double
            Dim sinReg_DC_copy(sinReg_DC.Count - 1) As Double
            Dim PM_DCtheo_copy(PM_DCtheo.Count - 1) As Double
            Dim PCom_INCINV_copy(PCom_INCINV.Count - 1) As Double
            Dim sinRegINCINV_copy(sinRegINCINV.Count - 1) As Double
            Dim PM_INCINVtheo_copy(PM_INCINVtheo.Count - 1) As Double
            Dim PM_renteTheo_copy(PM_renteTheo.Count - 1) As Double
            Dim PPRC_INCINVtheo_copy(PPRC_INCINVtheo.Count - 1) As Double
            Dim MRS_Vie_copy(MRS_Vie.Count - 1) As Double
            Dim nbCotDC_copy(nbCotDC.Count - 1) As Double
            Dim nbSinDC_copy(nbSinDC.Count - 1) As Double
            Dim nbCotINCINV_copy(nbCotINCINV.Count - 1) As Double
            Dim nbSinINCINV_copy(nbSinINCINV.Count - 1) As Double

            For i = 0 To CSR_DC.Count - 1
                CSR_DC_copy(i) = CSR_DC(i)
                Pcom_DC_copy(i) = Pcom_DC(i)
                sinReg_DC_copy(i) = sinReg_DC(i)
                PM_DCtheo_copy(i) = PM_DCtheo(i)
                PCom_INCINV_copy(i) = PCom_INCINV(i)
                sinRegINCINV_copy(i) = sinRegINCINV(i)
                PM_INCINVtheo_copy(i) = PM_INCINVtheo(i)
                PM_renteTheo_copy(i) = PM_renteTheo(i)
                PPRC_INCINVtheo_copy(i) = PPRC_INCINVtheo(i)
                MRS_Vie_copy(i) = MRS_Vie(i)
                nbCotDC_copy(i) = nbCotDC(i)
                nbSinDC_copy(i) = nbSinDC(i)
                nbCotINCINV_copy(i) = nbCotINCINV(i)
                nbSinINCINV_copy(i) = nbSinINCINV(i)
            Next

            result.nbAnneesProj = nbAnneesProj
            result.CSR_DC = CSR_DC_copy
            result.Pcom_DC = Pcom_DC_copy
            result.sinReg_DC = sinReg_DC_copy
            result.PM_DCtheo = PM_DCtheo_copy
            result.PCom_INCINV = PCom_INCINV_copy
            result.sinRegINCINV = sinRegINCINV_copy
            result.PM_INCINVtheo = PM_INCINVtheo_copy
            result.PM_renteTheo = PM_renteTheo_copy
            result.PPRC_INCINVtheo = PPRC_INCINVtheo_copy
            result.MRS_Vie = MRS_Vie_copy
            result.nbCotDC = nbCotDC_copy
            result.nbSinDC = nbSinDC_copy
            result.nbCotINCINV = nbCotINCINV_copy
            result.nbSinINCINV = nbSinINCINV_copy
            Return result
        End Function
    End Class

End Namespace